/* vie.h */
#ifndef VIE_H_
#define VIE_H_

#include "structs.h"

#define MODE_NUM 3

int VIE_ATTRIBUTE_NUMBER;
int VIE_ATTRIBUTE_HIGHLIGHT;
int VIE_ATTRIBUTE_AUTOINDENT;

edit_mode_t edit_modes[MODE_NUM];

screen_t viescr;

int current_mode;

int init_vie( int, char **);
int exit_vie( int );
int run( void );

//some operations. to be refined.

int switch_mode( int, int );
int init_buf( void );
int cursor_left(void);
int cursor_right(void);
//static int cursor_up(void);
//static int cursor_down(void);
//static int cursor_move(int, int);
int cursor_move_absolute(int, int);

int key_left(void);
int key_right(void);
int key_up(void);
int key_down(void);
int key_page_down(void);
int key_page_up(void);
int key_end(void);
int key_beg(void);
int key_insert(void);

int roll_screen(void);

#endif /* VIE_H_ */
